package com.qianyu.entity.bean;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.qianyu.entity.base.BaseBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.math.BigDecimal;
import java.util.Date;

/**
* 群成员
* @TableName tb_qun_member
*/
@Data
@ApiModel(value = "群成员")
@TableName(value = "tb_qun_member")
public class QunMember extends BaseBean {

    /**
    * 账号
    */
    @NotBlank(message="[账号]不能为空")
    @Size(max= 15,message="编码长度不能超过15")
    @ApiModelProperty("账号")
    private String qq;
    /**
    * 群id
    */
    @NotNull(message="[群id]不能为空")
    @ApiModelProperty("群id")
    private Long qunId;
    /**
    * 状态:-1=加群失败,0=加入中,1=在群,2=退群
    */
    @NotNull(message="[状态:-1=加群失败,0=加入中,1=在群,2=退群]不能为空")
    @ApiModelProperty("状态:-1=加群失败,0=加入中,1=在群,2=退群")
    private Integer status;
    /**
    * 是否可退群:0=否,1=是
    */
    @NotNull(message="[是否可退群:0=否,1=是]不能为空")
    @ApiModelProperty("是否可退群:0=否,1=是")
    private Integer canQuit;
    /**
    * 备注
    */
    @Size(max= -1,message="编码长度不能超过-1")
    @ApiModelProperty("备注")
    private String remark;
    /**
    * 身份:0=建群号,1=发包号,2=领包号,3=管理员
    */
    @NotNull(message="[身份:0=建群号,1=发包号,2=领包号,3=管理员]不能为空")
    @ApiModelProperty("身份:0=建群号,1=发包号,2=领包号,3=管理员")
    private Integer role;
    /**
    * 云机编号
    */
    @NotBlank(message="[云机编号]不能为空")
    @Size(max= 32,message="编码长度不能超过32")
    @ApiModelProperty("云机编号")
    private String yjNo;
    /**
    * 云机省份
    */
    @NotBlank(message="[云机省份]不能为空")
    @Size(max= 32,message="编码长度不能超过32")
    @ApiModelProperty("云机省份")
    private String yjProvince;
    /**
    * 加群时间
    */
    @ApiModelProperty("加群时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date joinTime;
    /**
    * 退群时间
    */
    @ApiModelProperty("退群时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date quitTime;
    /**
    * 红包金额
    */
    @NotNull(message="[红包金额]不能为空")
    @ApiModelProperty("红包金额")
    private BigDecimal redMoney;
    /**
    * 红包次数
    */
    @NotNull(message="[红包次数]不能为空")
    @ApiModelProperty("红包次数")
    private Integer redNum;
    /**
    * 最近领/发红包时间
    */
    @ApiModelProperty("最近领/发红包时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date lastRedTime;
    /**
    * 心跳时间
    */
    @ApiModelProperty("心跳时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date pingTime;
    /**
    * 上号取号时间
    */
    @ApiModelProperty("上号取号时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date loginGetTime;
    /**
    * 登录成功时间
    */
    @ApiModelProperty("登录成功时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date loginTime;
    /**
    * 提取状态:0=未提取,1=已提取
    */
    @NotNull(message="[提取状态:0=未提取,1=已提取]不能为空")
    @ApiModelProperty("提取状态:0=未提取,1=已提取")
    private Integer withdrawStatus;
    /**
    * 
    */
    @Size(max= -1,message="编码长度不能超过-1")
    @ApiModelProperty("")
    private String withdrawApi;
    /**
    * 宝哥订单id
    */
    @NotBlank(message="[宝哥订单id]不能为空")
    @Size(max= 32,message="编码长度不能超过32")
    @ApiModelProperty("宝哥订单id")
    private String baoId;
    /**
    * 保持取号时间
    */
    @ApiModelProperty("保持取号时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date keepGetTime;
    /**
    * 保持时间
    */
    @ApiModelProperty("保持时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date keepTime;

}
